"""
设计模式：(Design pattern)
    设计模式，就前人工作经验的总结。在特定场景场下的解决方法。

单例模式：一个类只能产生一个对象

不管你实例化 几次 这个类, 对象只有一个

类名()--->含义，创建对象
    step1：开辟内存，创建对象
    step2：执行init()
"""


# 思路

# 创建对象的时候, 内存中没有对象,我们就创建一个
# 如果有个对象,我们就返回这个对象

class Single:
    __instance = None

    def __new__(cls, *args, **kwargs):
        # 内存中没有对象,我们就创建一个
        if cls.__instance is None:
            cls.__instance = object.__new__(cls, *args, **kwargs)
        return cls.__instance  # 如果有个对象, 我们就返回这个对象


s1 = Single()
s2 = Single()

print(s1 is s2)
